package com.cloudschool.content.service;


import com.cloudschool.base.model.RestResponse;
import com.cloudschool.content.model.dto.BindTeachPlanMediaDto;
import com.cloudschool.content.model.dto.SaveTeachplanDto;
import com.cloudschool.content.model.dto.TeachplanDto;
import com.cloudschool.content.model.po.TeachplanMedia;

import java.util.List;

/**
 * @author chenhong
 * @version 1.0
 * @description TODO
 * @date 2023/3/9 16:00
 */
public interface TeachplanService {
    /**
    * @description 查询课程计划树型结构
    * @param courseId
    * @return java.util.List<com.cloudschool.content.model.dto.TeachplanDto>
    * @author chenhong
    * @date 2023/3/9 16:01
    */
    List<TeachplanDto> findTeachplanTree(long courseId);

    /**
    * @description 保存或修改课程计划的Service接口
    * @param teachplanDto 
    * @return void
    * @author chenhong
    * @date 2023/3/9 16:29
    */
    void saveOrUpdateTeachPlan(SaveTeachplanDto teachplanDto);

    /**
    * @description 教学计划绑定媒资
    * @param bindTeachplanMediaDto 
    * @return com.cloudschool.content.model.po.TeachplanMedia
    * @author chenhong
    * @date 2023/3/16 15:18
    */
    public TeachplanMedia associationMedia(BindTeachPlanMediaDto bindTeachplanMediaDto);

    RestResponse deleteAssociationMedia(Long teachPlanId, String mediaId);
}
